home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / cprog.EXE / UNION2.C < prev    next >
Text File  |  1996-07-05  |  2KB  |  54 lines

  1. #define OTO 1
  2. #define TEKNE 2
  3. #define UCAK 3
  4. #define GEMI 4
  5.  
  6. main()
  7. {
  8. struct otomobil {    /* bir otomobil icin structure         */
  9.    int tekerlekler;
  10.    int camurluklar;
  11.    int kapilar;
  12. };
  13.  
  14. typedef struct {     /* bir gemi yada tekne icin structure  */
  15.    int su_kesimi;
  16.    char boyu;
  17. } TEKNEDEF;
  18.  
  19. struct {
  20.    char tasit;         /* ne cins tasit ?                   */
  21.    int agirlik;        /* tasitin gros agirligi             */
  22.    union {             /* tipe-bagimli bilgi                */
  23.       struct otomobil oto;      /* union'un birinci kismi   */
  24.       TEKNEDEF tekne;           /* union'un ikinci kismi    */
  25.       struct {
  26.      char motorlar;
  27.      int kanat_acikligi;
  28.       } ucak;                   /* union'un 3uncu kismi      */
  29.       TEKNEDEF ship;            /* union'un 4uncu kismi      */
  30.    } tasit_tip;
  31.    int deger;            /* tasitin bin TL olarak degeri     */
  32.    char sahibi[32];      /* sahibinin ismi                   */
  33. } ford, sun_fish, piper_cub;   /* 3 structure degiskeni      */
  34.  
  35.        /* birkac sahayi tanimlayalim                         */
  36.    ford.tasit = OTO;
  37.    ford.agirlik = 2742;              /* deposu dolu iken     */
  38.    ford.tasit_tip.oto.tekerlekler = 5;  /* istepne dahil     */
  39.    ford.tasit_tip.oto.kapilar = 2;
  40.  
  41.    sun_fish.deger = 3742;           /* trailer haric */
  42.    sun_fish.tasit_tip.tekne.boyu = 5;
  43.    piper_cub.tasit = UCAK;
  44.    piper_cub.tasit_tip.ucak.kanat_acikligi = 9;
  45.  
  46.    if (ford.tasit == OTO)      /* evet , oyle  */
  47.       printf("Ford'un %d tekerlegi var.\n",
  48.                    ford.tasit_tip.oto.tekerlekler);
  49.  
  50.    if (piper_cub.tasit == OTO) /* hayir,degil */
  51.       printf("Ucagin %d tekerlegi var.\n",piper_cub.tasit_tip.
  52.          oto.tekerlekler);
  53. }
  54.